%% LaTeX Beamer presentation template (requires beamer package)
%% see http://latex-beamer.sourceforge.net/
%% idea contributed by H. Turgut Uyar
%% template based on a template by Till Tantau
%% this template is still evolving - it might differ in future releases!

\documentclass[usenames,dvipsnames]{beamer}

\mode<presentation>
{
\usetheme{Sodifrance}
\setbeamercovered{transparent}
}

\usepackage[francais]{babel}
\usepackage[utf8]{inputenc}

\usepackage{listings}
\usepackage{listingsutf8}

% font definitions, try \usepackage{ae} instead of the following
% three lines if you don't like this look
%\usepackage{ae}
\usepackage{mathptmx}
\usepackage[scaled=.9]{helvet}
\usepackage{courier}


\usepackage[T1]{fontenc}

\usepackage{graphicx}
\usepackage{wrapfig}

\subtitle{\scshape PLATEFORME DE MIGRATION}
\title{\textsc Soutenance de stage de fin d'études}

% - Use the \inst{?} command only if the authors have different
%   affiliation.
%\author{F.~Author\inst{1} \and S.~Another\inst{2}}
\author{Hervé ESTEGUET}

% - Use the \inst command only if there are several affiliations.
% - Keep it simple, no one is interested in your street address.
\institute[]
{
\includegraphics[scale=0.125]{univ_nantes2.png}
}

\date{09/09/2011}

\definecolor{imgBackground}{HTML}{D2DDDD}
\definecolor{colKeys}{rgb}{0,0,1}
\definecolor{colIdentifier}{rgb}{0,0,0}
\definecolor{colComments}{HTML}{20700C}%{0,0.5,1}
\definecolor{colString}{rgb}{0.6,0.1,0.1}

\lstset{%configuration de listings
%language=Java,%
float=hbp,%
basicstyle=\ttfamily\tiny, %
identifierstyle=\color{colIdentifier}, %
keywordstyle=\color{colKeys}, %
stringstyle=\color{colString}, %
commentstyle=\color{colComments}, %
columns=flexible, %
tabsize=2, %
frame=trBL, %
frameround=tttt, %
extendedchars=true, %
showspaces=false, %
showstringspaces=false, %
showlinenumbers=false, %
numbers=none, %
numberstyle=\tiny, %
breaklines=false, %
breakautoindent=false, %
captionpos=b,%
xrightmargin=1.2mm, %
xleftmargin=1.2mm, %
backgroundcolor=\color{white} % 
}

% This is only inserted into the PDF information catalog. Can be left
% out.
\subject{Plateforme de migration}



% If you have a file called "university-logo-filename.xxx", where xxx
% is a graphic format that can be processed by latex or pdflatex,
% resp., then you can add a logo as follows:

\pgfdeclareimage[height=0.5cm]{university-logo}{univ_nantes2}
\pgfdeclareimage[height=0.8cm]{mia-logo}{logo-sodifrance}
%\logo{\pgfuseimage{university-logo}}



% Delete this, if you do not want the table of contents to pop up at
% the beginning of each subsection:
\AtBeginSubsection[]
{
\begin{frame}<beamer>\frametitle{\secname}
%\begin{center}
%\Large
%\scshape
%\subsecname
%\end{center}
\tableofcontents[currentsubsection]%,hideallsubsections]
\end{frame}
}

% If you wish to uncover everything in a step-wise fashion, uncomment
% the following command:

%\beamerdefaultoverlayspecification{<+->}

% We customize the footline with page number
%\defbeamertemplate*{footline}{infolines theme}
%   {
%      \leavevmode%
%         \hbox{%
%           %\begin{beamercolorbox}[wd=.25\paperwidth,ht=2.25ex,dp=1ex,center]{author
%           %in head/foot}%
%             %\usebeamerfont{author in
%             %head/foot}\insertshortauthor~~(\insertshortinstitute)
%             %\end{beamercolorbox}%
%             \begin{beamercolorbox}[wd=.77\paperwidth,ht=2.25ex,dp=1ex,center]{title
%             in head/foot} \usebeamerfont{title in head/foot}\insertshorttitle
%             \end{beamercolorbox}%
%             \begin{beamercolorbox}[wd=.14\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
%             \usebeamerfont{date in head/foot}\insertshortdate{}%\hspace*{2em}
%           \end{beamercolorbox}
%           \begin{beamercolorbox}[wd=.08\paperwidth,ht=2.25ex,dp=1ex,center]{page in head/foot}
%            \insertframenumber / \inserttotalframenumber
%           \end{beamercolorbox}
%         }%
%}

\begin{document}

\begin{frame}
\titlepage
\end{frame}

\begin{frame}\frametitle{Sommaire}
\tableofcontents[hideallsubsections]
% You might wish to add the option [pausesections]
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Présentation de l'entreprise}

\subsection{Historique et chiffres clés}
\begin{frame}\frametitle{\textsc{Sodifrance}}
\begin{itemize}
  \item 24 années d'existence depuis 1986.
  \item 15 ans d’expérience en transformation automatisée des systèmes
  d’information.
  \item Près de 900 collaborateurs.
  \item 63M de chiffre d'affaires
  \item Plus de 60\% du chiffre d’affaires réalisé chaque année dans le secteur
  Banque et Assurance.
  \item 30\% du chiffre d’affaires réalisé au forfait.
  \item Cotation en bourse sur Euronext depuis 1999.\\
\end{itemize}
\end{frame}

\subsection{Implantation}
\begin{frame}
\frametitle{Sodifrance: Implantation}
\begin{center}
\includegraphics[scale=.38]{implantation.png}
\end{center}
\tiny
\begin{itemize}
  \item \textsc{\textbf{France}} : Brest, Le Mans, Nantes, Lyon,
  Aix-en-Provence, Niort, Noisy-le-Grand, Orléans, Paris, Rennes (Siège sociale), Toulouse, Tours.
  \item \textsc{\textbf{Tunisie}} : Tunis.\\
\end{itemize}
\end{frame}

\subsection{Investissements en R\&D}
\begin{frame}\frametitle{Sodifrance: R\&D}
\begin{itemize}
  \item Des années d'investissement en R\&D en génie logiciel sur la
  modernisation de patrimoines applicatifs.
  \item Création de Mia-Software en 2004 pour capitaliser ce savoir faire sous
  forme de produits.
\end{itemize}
\begin{center}
\includegraphics[scale=.3]{miasoft_product.png}
\end{center}
\end{frame}

\subsection{Des solutions de modernisation d'applications}
\begin{frame}\frametitle{Sodifrance: Offres de migration}
\begin{center}
\includegraphics[scale=.8]{sodi_fast.png}
\end{center}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Présentation du sujet}

\subsection{Contexte de migration}
\begin{frame}\frametitle{Contexte de migration outillée}
\setlength{\unitlength}{1.2cm}
\begin{picture}(5,5)
\put(.45,1.3){\includegraphics<1>[width=0.92\textwidth]{mda_way1.png}}
\put(.99,-.05){\includegraphics<2>[width=.195\textwidth]{mda_way1_1.png}}
\put(0,0){\includegraphics<3>[height=.8\textheight]{mda_way1_2.png}}
\put(0,0){\includegraphics<4>[width=\textwidth]{mda_way1_3.png}}
\put(0,0){\includegraphics<5>[width=\textwidth]{mda_way1_4.png}}
\put(-.6,0){\includegraphics<6>[height=.8\textheight,width=1.1\textwidth]{mda_way1_5.png}}
\put(-.6,0){\includegraphics<7>[height=.8\textheight,width=1.1\textwidth]{mda_way1_6.png}}
\put(4.31,2.51){\includegraphics<2-4>[width=.06\textwidth]{gear.png}}
\end{picture}
\end{frame}

\subsection{Le suivi de l'intégration}
\begin{frame}\frametitle{Le suivi d'intégration}
\begin{columns}
\column{.7\textwidth}
\begin{itemize}
  \item Tags de suivi \begin{itemize}
    \item Suivre l'état des éléments de code
    \item 3 principaux états \begin{itemize}
      \item En attente d'intégration
      \item En cours d'intégration
      \item Intégration terminée
      \end{itemize}
    \item Calcul de l'avancement \begin{itemize}
      \item Parcours du code cible
      \item Détection de l'état des éléments par présence ou absence de tags
      \end{itemize}
  \end{itemize}
\end{itemize}
\column{.3\textwidth}
\begin{center}
\includegraphics[height=.85\textheight]{mda_way_gene.png}
\end{center}
\end{columns}
\end{frame}

\begin{frame}
\frametitle{}
\frametitle<1-2>{Le suivi d'intégration : Exemple de tags}
\frametitle<3>{Le suivi d'intégration : Structure d'un tag}
\frametitle<4>{Le suivi d'intégration : Attente d'intégration}
\frametitle<5>{Le suivi d'intégration : En intégration}
\frametitle<6>{Le suivi d'intégration : Fin d'intégration}
\begin{center}
\includegraphics<1>[width=\textwidth]{hello_world_java.png}
\includegraphics<2>[width=\textwidth]{hello_world_java_tag_showed.png}
\includegraphics<3>[width=\textwidth]{hello_world_java_tag_struct.png}
\includegraphics<4>[width=\textwidth]{hello_world_java.png}
\includegraphics<5>[width=\textwidth]{hello_world_java_in_progress.png}
\includegraphics<6>[width=\textwidth]{hello_world_java_completed.png}
\end{center}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{La plateforme de migration}

\subsection{Architecture}
\begin{frame}\frametitle{La plateforme de migration}
\setlength{\unitlength}{1.2cm}
\begin{picture}(5,5)
\put(-.7,0){\includegraphics<1>[width=1.15\textwidth]{arch.png}}
\put(-.7,0){\includegraphics<2>[width=1.15\textwidth]{arch2.png}}
\end{picture}
\end{frame}

\subsection{L'outil existant}
\begin{frame}\frametitle{L'ancienne interface}
\begin{columns}
\column{.5\textwidth}
\begin{itemize}
  \item Réalisée en Java/Swing
  \item Fonctionnalités de suivi \begin{itemize}
    \item Calcul d'avancement
    \item Génération de rapport d'avancement
  \end{itemize}
\end{itemize}
\column{.5\textwidth}
\begin{itemize}
  \item Projets adjacents \begin{itemize}
    \item Couche DAO : Accès aux données de cartographie
    \item Couche services : Génération de rapports
  \end{itemize}
\end{itemize}
\end{columns}
\setlength{\unitlength}{1mm}
\begin{picture}(50,50)
\put(-5.5,10){\includegraphics[width=.95\paperwidth]{old_interface_3.png}}
\end{picture}
\end{frame}

\subsection{Les vues de suivi}
\begin{frame}
\frametitle<1-2>{La vue de synthèse}
\frametitle<3-4>{La vue de suivi détaillé}
\frametitle<5>{L'avancement des scénarios}
\setlength{\unitlength}{1mm}
\begin{picture}(50,50)
\put(15,-20){\includegraphics<1>[height=\textheight]{mpp_overview_2.png}}
\put(15,-20){\includegraphics<2>[height=\textheight]{mpp_overview_2_1.png}}
\put(-5,0){\includegraphics<3>[width=1.1\textwidth]{mpp_progress_monitoring_2.png}}
\put(-5,0){\includegraphics<4>[width=1.1\textwidth]{mpp_progress_monitoring_2_1.png}}
\put(-9,0){\includegraphics<5>[width=1.15\textwidth]{mpp_scenario_page_2.png}}
\end{picture}
\end{frame}

\subsection{Réalisation des vues}

\subsubsection*{Les profils de suivi}
\begin{frame}\frametitle{Les profils de suivi}
Les besoins:
\begin{itemize}
  \item Plusieurs projets
  \item Des profils differents \begin{itemize}
    \item Emplacement des sources
    \item Données d'accès à la base de données de suivi \begin{itemize}[]
      \item Adresse du serveur
      \item Type de serveur
      \item Dialecte SQL utilisé
      \item Autorisation d'accès
      \end{itemize}
    \item Technologies utilisées \begin{itemize}[]
      \item Gestionnaire de version
      \item Langage de programmation
      \end{itemize}
  \end{itemize}
  \item Partage des espaces de travail
\end{itemize}
\end{frame}

\begin{frame}
\frametitle<1-4>{Les profils de suivi : Editeur}
\frametitle<5>{Les profils de suivi : Wizard}
%Profils sauvegardés au format \textcolor{red}{\textit{Java Properties}} avec l'extension '.mpconfig'
\setlength{\unitlength}{1mm}
\begin{picture}(60,60)
\put(-9,10){\includegraphics<1>[width=\paperwidth]{mpp_profile_editor_2.png}}
\put(-9,10){\includegraphics<2>[width=\paperwidth]{mpp_profile_editor_2_tags.png}}
\put(-9,10){\includegraphics<3>[width=\paperwidth]{mpp_profile_editor_2_db.png}}
\put(-9,10){\includegraphics<4>[width=\paperwidth]{mpp_profile_editor_2_dir.png}}
\put(0,0){\includegraphics<5>[width=\textwidth]{wizard.png}}
\end{picture}
\end{frame}

\subsubsection*{Exploitation de profils}
\begin{frame}\frametitle{Exploitation des profils}
\setlength{\unitlength}{1mm}
\begin{picture}(60,60)
\put(0,-8.5){\includegraphics[width=\textwidth]{multi_page_editor.png}}
\end{picture}
\end{frame}

\begin{frame}\frametitle{Exploitation des profils : Réalisation des vues}
\begin{itemize}
  \item<1-> SWT/JFace \begin{itemize}
    \item API Graphique d'Eclipse
  \end{itemize}
  \item<2-> API Eclipse Forms \begin{center}
  \includegraphics<2>[width=.5\textwidth]{mpp_overview_actions.png}
  \end{center}
  \item<3-> Plusieurs types de page \begin{itemize}
    \item<4-> Page fixe / Page créée par points d'extension
    \item<5-> Page dépendante du modèle partagé
    \includegraphics<5>[width=.7\textwidth]{ItemModel.png}
    \item<6-> Page individuelle
  \end{itemize}
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Le Release Engineering}

\subsection*{Objectifs}

\begin{frame}
\begin{center}
\Large
\scshape
Le Release Engineering
\end{center}
\end{frame}

\begin{frame}\frametitle{Le Release Engineering}
\begin{itemize}
  \item<1-> Déploiement de la plateforme \begin{itemize}
    \item Etude des mécanismes de déploiement de produits \textsc{Eclipse}
    \item Mise en place de solutions de déploiement pour distribution à différents acteurs \begin{itemize}
      \item Création d'un \textsc{\textbf{Update-Site}}
      \item Utilisation d'un serveur \textsc{\textbf{Apache}} pour publication
      \end{itemize}
  \end{itemize}
  \item<2-> Intégration continue de la plateforme \begin{itemize}
    \item Mise en place du système de build \textbf{\textsc{Maven}} pour les projets de la plateforme
    \item Mise en place d'un serveur d'intégration continue \begin{itemize}
      \item Choix du serveur : \textbf{\textsc{Hudson}}
      \item Choix du container : \textbf{\textsc{JBoss}} vs \textbf{\textsc{Tomcat}}
      \end{itemize}
  \end{itemize}
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusion}

\begin{frame}
\begin{center}
\Large
\scshape
CONCLUSION
\end{center}
\end{frame}

\begin{frame}\frametitle{Conclusion}
\begin{itemize}
  \item<1-> \textbf{Bilan du travail:} \begin{itemize}
    \item La plateforme est utilisée pour le suivi de plusieurs projets
    \item Mutations constantes pour coller aux changements du métamodèle de cartographie
    \item Evolutions de la plateforme au delà des fonctionnalités de suivi\\
  \end{itemize}
  \item<2-> \textbf{Bilan de l'expérience:} \begin{itemize}
    \item Découverte du monde de l'entreprise
    \item Enrichissement de mon parc technique \begin{itemize}
      \item Chaine de migration dans le contexte MDA
      \item Plateforme Eclipse
      \end{itemize}
  \end{itemize}
\end{itemize}
\end{frame} 

\begin{frame}
\begin{center}
\Large
\scshape
Merçi pour votre Attention
\end{center}
\end{frame}

\end{document}
